

package main

import (
	"fmt"
)

func main()  {
	// golang的结构初始化
	node :=ListNode{}
	node2:=ListNode{Val:13,Next:nil}
	// 获取其地址，指针
	var node3 *ListNode=&ListNode{12,nil}

	// var node4  &ListNode,没有初始化
	var node4 *ListNode
	node5 :=&node4

	sli :=make([]int,0)
	var sli2 []int
	sli =append(sli,sli...)
	fmt.Println(sli)
	fmt.Println(sli2==nil)
	fmt.Println(sli==nil)

	fmt.Println(node4)
    node4 = &ListNode{Val:23}
	fmt.Println((**node5).Val)
	fmt.Println((*node5).Val)
	fmt.Println(node3)
	fmt.Println(node)
	fmt.Println(node2)
}

/**

     l3 = &node
     l3 = l3.Next
	 // 这不是前进一步的做法

*/

// 有构造函数的使用吗
type ListNode struct{
	Val int
	// 为什么使用指针，而不适用值，是因为复制方面的考虑
	Next *ListNode
}

